Formigas pelo Brasil
  • APRESENTAÇÃO
  • INÍCIO
  • COLETA DOS DADOS
  • ANÁLISES
  • RESULTADOS
  • CONCLUSÃO

On this page

  • Análises descritivas
  • Análises Inferenciais

Pacotes utilizados

knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)
suppressPackageStartupMessages({
library(dplyr)
library(ggplot2)
library(ggpubr)   
library(tidyr)
library(leaflet)
library(geobr)        
library(sf)
library(vegan)
library(stats)
library(knitr)
library(kableExtra)})

Análises descritivas

Distribuição de riqueza de gêneros de formigas

Nesta etapa, avaliamos como a diversidade de gêneros de formigas se distribui geograficamente no Brasil, utilizando recortes por estado e bioma.

  • Número de registros por estado (registros_estado) {.tabset}

Foi calculada a quantidade total de registros de formigas por estado, o que permite identificar onde há maior volume de dados disponíveis.

dados_com_bioma <- readRDS("dados_com_bioma.rds")
registros_estado <- dados_com_bioma %>%
  count(estado, name = "n_registros")

Número de gêneros por estado (generos_estado)

Aqui contamos quantos gêneros distintos foram registrados em cada estado, com o objetivo de mapear a diversidade registrada regionalmente.

generos_estado <- dados_com_bioma %>%
  distinct(genero, estado) %>%
  count(estado, name = "riqueza_generos")

Número de gêneros por bioma (generos_bioma)

Essa análise permitiu comparar a riqueza de gêneros entre os diferentes biomas brasileiros, destacando regiões ecologicamente distintas com maior ou menor diversidade.

generos_bioma <- dados_com_bioma %>%
  distinct(genero, bioma) %>%
  count(bioma, name = "riqueza_generos")

Mapa temático da riqueza de gêneros por estado

Este mapa permite visualizar espacialmente a distribuição da riqueza de gêneros entre os estados. Isso facilita a identificação de padrões espaciais e lacunas de amostragem.

# 1. Carregamento e preparação dos dados geográficos
estados_br <- read_state(year = 2020) %>% 
  st_transform(crs = 4326) %>%  # Converter para WGS84
  mutate(name_state_lower = tolower(name_state))

# 2. Preparação dos dados de riqueza
riqueza_por_estado <- generos_estado %>%
  mutate(estado_lower = tolower(estado))

# 3. Fazer o join corretamente
estados_mapa <- estados_br %>% 
  left_join(riqueza_por_estado, by = c("name_state_lower" = "estado_lower"))

# 4. Criação do mapa
pal <- colorNumeric(
  palette = "YlGnBu",
  domain = estados_mapa$riqueza_generos,  
  na.color = "#f7f7f7"
)

leaflet(estados_mapa) %>%
  addProviderTiles("CartoDB.Positron") %>%
  addPolygons(
    fillColor = ~pal(riqueza_generos),  
    weight = 1,
    color = "white",
    fillOpacity = 0.7,
    label = ~paste0(
      name_state, ": ", 
      ifelse(is.na(riqueza_generos), "Sem dados", riqueza_generos), 
      " gêneros"
    ),
    highlightOptions = highlightOptions(
      weight = 3,
      color = "#666",
      bringToFront = TRUE
    )
  ) %>%
  addLegend(
    position = "bottomright",
    pal = pal,
    values = ~riqueza_generos,  
    title = "Riqueza de Gêneros",
    na.label = "Sem dados"
  )

Composição e Frequência de Gêneros

Nesta etapa, buscamos identificar quais gêneros de formigas são mais abundantes e como eles se distribuem entre os estados e biomas brasileiros. Também verificamos a presença de gêneros exclusivos em determinadas regiões.

  • Gêneros mais frequentes por bioma

Selecionamos os três gêneros com maior número de registros em cada bioma, com o objetivo de identificar quais grupos são ecologicamente dominantes.

top3_generos_bioma <- dados_com_bioma %>%
  count(bioma, genero, sort = TRUE) %>%
  group_by(bioma) %>%
  slice_max(order_by = n, n = 3) %>%
  arrange(bioma, desc(n)) %>%
  ungroup()

## Gráfico de barras agrupadas
ggplot(top3_generos_bioma, aes(x = reorder(bioma, -n), y = n, fill = genero)) +
  geom_col(position = position_dodge(width = 0.8), width = 0.7) +
  labs(x = "Bioma", y = "Nº de registros", fill = "Gênero",
       title = "Top 3 gêneros mais frequentes por bioma") +
  theme_minimal(base_size = 12) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

  • Gêneros exclusivos por bioma

A seguir, identificamos os gêneros que ocorrem exclusivamente em um único bioma. Isso é relevante para revelar padrões de endemismo, especialização ecológica ou até limitações do esforço amostral em determinadas regiões.

generos_unicos <- dados_com_bioma %>%
  group_by(genero) %>%
  filter(n_distinct(bioma) == 1) %>%
  count(bioma, name = "n_generos_exclusivos")

generos_unicos %>%
  ggplot(aes(x = reorder(bioma, -n_generos_exclusivos), y = n_generos_exclusivos)) +
  geom_col(fill = "darkgreen") +
  labs(title = "Número de gêneros exclusivos por bioma", x = NULL, y = "Gêneros exclusivos") +
  theme_classic2() +
  coord_flip() +
  theme(plot.title = element_text(hjust = 0.5))

Rarefação

Para comparar a riqueza esperada de gêneros entre biomas de forma padronizada, utilizamos a análise de rarefação. Essa abordagem, realizada com o pacote vegan, permite controlar diferenças no número de registros entre biomas, estimando quantos gêneros seriam esperados se todos tivessem o mesmo número de amostras. Dessa forma, é possível fazer uma comparação mais justa da diversidade de gêneros entre as regiões.

mat_bioma <- xtabs(~ bioma + genero, data = dados_com_bioma)
raref_result <- rarefy(mat_bioma, sample = min(rowSums(mat_bioma)))
raref_df <- data.frame(Bioma = names(raref_result), Riqueza = raref_result)

ggplot(raref_df, aes(x = reorder(Bioma, Riqueza), y = Riqueza)) +
  geom_col(fill = "steelblue") +
  coord_flip() +
  labs(title = "Riqueza Esperada de Gêneros por Bioma", x = NULL, y = "Número de Gêneros")

Análises Inferenciais

Teste de correlação de Pearson

Esse teste foi utilizado para verificar se há uma correlação entre o número de registros por estado e a riqueza de gêneros de formigas.

correlacao_df <- inner_join(registros_estado, generos_estado, by = "estado")

cor.test(correlacao_df$n_registros, correlacao_df$riqueza_generos, method = "pearson")

    Pearson's product-moment correlation

data:  correlacao_df$n_registros and correlacao_df$riqueza_generos
t = 5.2475, df = 27, p-value = 1.567e-05
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.4652270 0.8545339
sample estimates:
      cor 
0.7105739 
#Gráfico de correlação
ggplot(correlacao_df, aes(x = n_registros, y = riqueza_generos)) +
  geom_point(aes(size = n_registros, fill = estado), 
             color = "black", shape = 21, stroke = 0.5, alpha = 0.9) +
  geom_smooth(method = "lm", se = TRUE, color = "gray30", fill = "gray80", linewidth = 1, linetype = "dashed") +
  stat_cor(
    method = "pearson",
    aes(label = paste(..r.label.., ..p.label.., sep = "~`,`~")),
    label.x = min(correlacao_df$n_registros) + 10,
    label.y = max(correlacao_df$riqueza_generos) * 0.95,
    size = 4.2,
    color = "black"
  ) +
  labs(
    title = "Relação entre Esforço Amostral e Riqueza de Gêneros de Formigas",
    x = "Número de Registros",
    y = "Número de Gêneros",
    size = "Esforço Amostral",
    fill = "Estado"
  ) +
  theme_classic(base_size = 13) +
  theme(
    plot.title = element_text(face = "bold", size = 15),
    plot.subtitle = element_text(size = 12, margin = margin(b = 10)),
    axis.title = element_text(face = "bold"),
    legend.position = "right",
    legend.title = element_text(face = "bold")
  ) +
  scale_fill_viridis_d(option = "turbo", begin = 0.1, end = 0.9) +
  scale_size_continuous(range = c(2.5, 7)) +
  guides(
  fill = guide_legend(override.aes = list(size = 5, shape = 21, color = "black", stroke = 0.5))
)

Testes de diferença e associação

Teste de Kruskal-Wallis

Foi aplicado para verificar se a riqueza de gêneros varia significativamente entre os biomas brasileiros. Esse teste não-paramétrico é adequado quando os dados não seguem distribuição normal, como é comum em dados ecológicos. A análise foi realizada com a função kruskal.test() do R base.

riqueza_estado_bioma <- dados_com_bioma %>%
  distinct(bioma, estado, genero) %>%
  count(bioma, estado, name = "riqueza_generos")

kruskal.test(riqueza_generos ~ bioma, data = riqueza_estado_bioma)

    Kruskal-Wallis rank sum test

data:  riqueza_generos by bioma
Kruskal-Wallis chi-squared = 7.0558, df = 6, p-value = 0.3157
Teste Qui-quadrado com simulação de Monte Carlo

Foi utilizado para avaliar se há associação entre gêneros e estados brasileiros. Como a tabela possui muitas combinações com frequências baixas, aplicou-se o teste do qui-quadrado com simulação de Monte Carlo (simulate.p.value = TRUE), o que torna o resultado mais confiável nesse tipo de situação.

tabela_gen_estado <- table(dados_com_bioma$genero, dados_com_bioma$estado)

chisq.test(tabela_gen_estado, simulate.p.value = TRUE, B = 10000)

    Pearson's Chi-squared test with simulated p-value (based on 10000
    replicates)

data:  tabela_gen_estado
X-squared = 79511, df = NA, p-value = 9.999e-05